Skip to content

Fix/podspec enable name handling#14

Merged
PhennyOpsta merged 4 commits intomainfrom
fix/podspec-enable-name-handling
Feb 9, 2026
Merged

Fix/podspec enable name handling#14
PhennyOpsta merged 4 commits intomainfrom
fix/podspec-enable-name-handling

Conversation

@PhennyOpsta
Copy link

No description provided.

nakarin-s and others added 3 commits February 6, 2026 17:30
The serviceAccount values were changed to a (create/name), but the podspec was still expecting a flat string. This fix restores the correct serviceAccountName mapping.
@gemini-code-assist
Copy link

Summary of Changes

Hello @PhennyOpsta, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request introduces a significant simplification to how Kubernetes ServiceAccounts are managed across the Helm charts. By refactoring the common chart, the configuration now directly accepts a service account name as a string, making the setup more intuitive and less verbose. This change ensures a consistent and streamlined approach to service account definition throughout the chart ecosystem, improving maintainability and ease of use for chart consumers.

Highlights

  • Service Account Handling Refactor: The logic for creating and naming Kubernetes ServiceAccounts has been simplified. Instead of a serviceAccount object with create and name properties, the chart now expects a direct string value for the service account name. If provided, this string will be used as the ServiceAccount name; otherwise, no ServiceAccount will be created by the template.
  • Common Chart Version Update: The charts/common Helm chart has been updated from version 0.8.0 to 0.9.0 to reflect the changes in service account handling.
  • Dependency Version Propagation: All dependent charts, including cron-job, onechart, and static-site, have had their common chart dependency updated to version 0.9.0.
  • Schema and Default Values Alignment: The values.schema.json for onechart has been updated to define serviceAccount as a string type, and the values.yaml in onechart has been adjusted to remove the old serviceAccount object structure, aligning with the new simplified approach.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Changelog
  • charts/common/Chart.yaml
    • Updated chart version from 0.8.0 to 0.9.0.
  • charts/common/templates/_podSpec.yaml
    • Removed a trailing newline character for minor formatting consistency.
  • charts/common/templates/_serviceaccount.yaml
    • Refactored service account creation logic to check for a direct string value for .Values.serviceAccount.
    • Changed the ServiceAccount name assignment to use {{ .Values.serviceAccount }} directly.
    • Removed the labels block from the ServiceAccount metadata.
  • charts/cron-job/Chart.lock
    • Updated the common chart dependency version to 0.9.0.
    • Updated the digest and generated timestamp.
  • charts/cron-job/Chart.yaml
    • Updated the common chart dependency version to 0.9.0.
  • charts/onechart/Chart.lock
    • Updated the common chart dependency version to 0.9.0.
    • Updated the digest and generated timestamp.
  • charts/onechart/Chart.yaml
    • Updated the common chart dependency version to 0.9.0.
  • charts/onechart/values.schema.json
    • Added a new schema definition for serviceAccount as a string type, including title, description, and default value.
  • charts/onechart/values.yaml
    • Removed the deprecated serviceAccount object configuration block.
  • charts/static-site/Chart.lock
    • Updated the common chart dependency version to 0.9.0.
    • Updated the digest and generated timestamp.
  • charts/static-site/Chart.yaml
    • Updated the common chart dependency version to 0.9.0.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates the common chart and its dependencies, and refactors the service account handling. The main change is moving from a serviceAccount object with create and name fields to a simple serviceAccount string for the name. While this simplifies the configuration, it introduces a regression by removing the ability to use a pre-existing service account without the chart attempting to create it. My review includes suggestions to restore this flexibility by reverting to the object-based configuration, which is a more robust and common pattern in Helm charts. I've also pointed out a misleading description in the new schema.

Comment on lines +2 to 9
{{- if .Values.serviceAccount }}
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: {{ .Values.serviceAccount.name | default (include "onechart.fullname" .) }}
name: {{ .Values.serviceAccount }}
namespace: {{ .Release.Namespace }}
labels:
{{- include "onechart.labels" . | nindent 4 }}
{{- end }}

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

This implementation forces the creation of a ServiceAccount if a name is provided, which prevents using an existing ServiceAccount without the chart trying to manage it. This is a regression from the previous, more flexible behavior. It's better to use a create flag to control creation explicitly, which is a common pattern in Helm charts.

{{- if .Values.serviceAccount.create -}}
---
apiVersion: v1
kind: ServiceAccount
metadata:
  name: {{ .Values.serviceAccount.name | default (include "onechart.fullname" .) }}
  namespace: {{ .Release.Namespace }}
  labels:
    {{- include "onechart.labels" . | nindent 4 }}
{{- end }}

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

revert to before flow

@PhennyOpsta PhennyOpsta merged commit 2e32d50 into main Feb 9, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants